package com.frcdi.qms.masterdata.service;

import com.frcdi.qms.masterdata.domain.Method;

import java.util.List;

/**
 * 方法Service接口
 *
 * @author cell
 * @date 2023-10-16
 */
public interface IMethodService
{
    /**
     * 查询方法
     *
     * @param methodId 方法主键
     * @return 方法
     */
    public Method selectMethodByMethodId(Long methodId);

    /**
     * 查询方法列表
     *
     * @param method 方法
     * @return 方法集合
     */
    public List<Method> selectMethodList(Method method);

    /**
     * 新增方法
     *
     * @param method 方法
     * @return 结果
     */
    public String insertMethod(Method method);

    /**
     * 修改方法
     *
     * @param method 方法
     * @return 结果
     */
    public int updateMethod(Method method);
    public int updateMethodByMethodNo(Method method);

    /**
     * 批量删除方法
     *
     * @param methodIds 需要删除的方法主键集合
     * @return 结果
     */
    public int deleteMethodByMethodIds(Long[] methodIds);

    /**
     * 删除方法信息
     *
     * @param methodId 方法主键
     * @return 结果
     */
    public int deleteMethodByMethodId(Long methodId);

    /**
     * 检查名称是否唯一
     *
     * @param method 方法
     * @return 结果
     */
    public boolean checkMethodNameUnique(Method method);

    /**
     * 提交至申请人
     */
    public int submitApplicant(Method method);

    /**
     * 获取最新编码
     */
    public String getCode();
}
